Development Notes Volume 1 Chapter 1

    10 - Using Beyond Compare for components - 2022-01-14

    Maintaining changes in the neuron components (step, dendrites, somas, and axons) is a pain. For example, even though all the Step components are 90% the same, each must match updates to all the others. Using Beyond Compare from Scooters Software makes this much more manageable.

    Adding a small addition to Beyond Compare makes it even easier. Here is how to have it ignore small but importance like the difference between 'Step1' and 'Step2':

    1. Load both files into the left and right
    2. Click Rules button
    3. Select Importance tab
    4. Click "+"
    5. In-Text To Find, enter 'Step\d.'
    6. Check Regular Expression
    7. Ok
    8. Ok
    9. View > Ignore Unimportant Differences

    The right side should show no differences between Step1 and Step2

    9 - Directory setup for Genesis Simulator - 2021-12-28

    Please note: I got so pissed off at cygWin and the Genesis simulator that, in a fit of pique, I distroyed all of it, even the backups. I would erase my related brain cells if I could.
    J.B. 2023-12-06

    The working setup for Genesis directories is:

     

    The last bit of the .bashrc file sets the PATH to the genesis interpreter and moves us to the cable directory. It then starts genesis which loads the Cable.g file.

    The .bashrc file lives in C:\cygwin\home\JamesBrown


    8. - Resetting Dreamweaver site- 2021-12-28

    I almost lost the recipe. The FTP connection to the remote server is:


    Note the Root Directory - no leading slash.

    Art byStephan Martiniere

    Questions - Comments eMail Me I will respond..

    ©2013 SETI NETWORK


    7 - Reconnecting NAS - 2021-04-24

    For some reason, only known to the Windows 10 GODs, I cannot figure out how to access my NAS shares as local drives on my desktop computer (Zeke).

    If the NAS does not show up under Networks, then follow this video: The last hint worked for me.
    After you have the NAS showing up for work, then use File Explorer:

    1. Open File Explorer from the taskbar or the Start menu, or press the Windows logo key + E.
    2. Select This PC from the left pane (Zeke for me). ...
    3. In the Drive list, select a drive letter. ...
    4. In the Folder box, type the path of the folder or computer, or select Browse to find the folder or computer. ...
    5. Select Finish.



    6 - Body Cleaning - 2020-10-30

    After working with the Body Plan for a while, I realized that I have a serious problem. Connecting body parts in the field results in a String List that will likely not work. This is because the list is filled in the order that the user clicks on body parts, and that may result in an output being sent to a sink before the source inputs have been filled. I have to automate the ordering process.

    Ordering:

    1. Self references - remove these as they occur (Dendrite 1 to Dendrite 1)
    2. Block the following references: I think this corresponds to biology
      • Dendrite to Axon
      • Axon to Dendrite (this must be link to next neuron)
      • Axon to Soma
      • Soma to Soma
      • Soma to Dendrite
    3. Grouping
      • Steps to top
      • Scopes to bottom except don't move any Step to Scope entries
      • Dendrites after all steps
      • Soma after all Dendrites
      • Axons after Soma
    4. Group Order. The following in each group must be: inputs first then all outputs
    5. Second and following Neurons must be flagged somehow so that the grouping orders can be repeated.
    6. I will implement this to see if it solves the problems. Stay tuned.

    5 - Stacked Steps - 2020-08-17

    While building the Neuron simulator, I came to the place where I had to allow the simulator user to assign two or more outputs to a single dendrite input. This is trivial when the inputs arrive at different input time steps and do not overlap, but what if they do overlap? This is the solution to that problem.

    This figure shows the 'scope output of two-step inputs connected to the same dendrite input and the resulting waveforms. This figure was constructed by capturing the scope once with the dendrite pass-through set and once with it not set, then overlading with Snagit editor.
    The curved line is the presented result of calculating the membrane voltage (Vm) over the 100 mSec step interval. Notice that the two-step functions are set to an amplitude of 20 mV, with one much smaller in width than the other.

    Notice that Vm does not complete the 5 TM rise or fall time necessary to show a 99% trace. The difference is shown by the delta times d1,d2, and d3;

    Algorithm

    At points Ta and Tb, the algorithm enters the charging state and calculates:

    • delta = VsLast -Vm
    • Target = Vs - VsLast + delta

    where VsLast is the last voltage input from the step function driving the dendrite and Target is the change in Vm necessary

    During the charging state, the calculation is:

    • Vm = Target * (exp ... ) + VsLast

    At points Tc and Td, the algorithm enters the discharging state and calculates:

    • delta = VsLast -Vm (as before)
    • Target = VsLast - Vs - delta

    During the discharge state, the calculation is:

    • Vm = Target * (exp...) +Vs

    4 - Moving to PHP v7.2 - 2020-08-02

    My ISP eliminated the old but working PHP version I have used since dirt was invented. This removed some of the database mechanisms I had depended on for so long and killed the website. This is what is necessary to recover access to the databases.

    For each page that accesses the MySQL database, replace the current access with this: (Note: there are TWO mysql_close that need to be replaced on each page).

    // --------------------------------------------
     require "../../script/login.php";
     require "$KoolControlsFolder/KoolGrid/ext/datasources/MySQLiDataSource.php";
     $db_con = mysqli_connect($db_hostname,$db_username,$db_password, 'setine5_seti');
     //echo ("KoolControlsFolder: $KoolControlsFolder");
     mysqli_set_charset($db_con, 'utf8');
     if ($db_con)
     {
       //  echo ("Connected");
     }
     else
     {
         mysqli_close($db_con);
      //  echo ("      --- NOT Connected ---    ");
     }
     $ds_stations = new MySQLiDataSource($db_con);
    // -------------------------------------------
              

    3 - Installing GENESIS Neural Simulator - 2020-04-25

    Please note: I got so pissed off at cygWin and the Genesis simulator that, in a fit of pique, I distroyed all of it, even the backups. I would erase my related brain cells if I could.
    J.B. 2023-12-06

    I decided I had to find a baseline simulator while working on mine. All the simulators require Linux, which I hate with a purple passion, but I finally got one to run under Windows.
    Here are the steps if you want to use the GENESIS simulator under Windows.

    Install Cygwin on Windows 10

    YouTube video at:

    https://www.youtube.com/watch?v=QonIPpKodCw

    Written instructions at:

    https://github.com/lakelse/videos/tree/master/01-install-cygwin-on-windows-youtube

    Install GENESIS:

    Written instructions at: - SORRY but URL rot got to this website.

    https://techmoto.us/2018/11/16/genesis-simulator-install-windows/

    Errata:

    At the step 4 'Extract the Genesis source files'

    $ cd /usr/local
    $ tar xvsf genesis-2.3-Linux-bin.tar.gz // Wrong File Chose the Windows version.

    2 - Delphi Frame - 2020-03-27 (revised 2023-12-18)

    I can never remember how to build a new Delphi frame and add it to a project. Here is the recipe.

    1. Start a new Windows VCL project and get it running
    2. Then start a new frame with: File | New | Other | Delphi Individual Files | VCL Frame (This takes a few seconds so cool your jets)
    3. A new unit will appear in your Project. Rename it to something memorable like 'uTestFrame'
    4. Change the frames form to something memorable like 'TestFrame' and SaveAs Local directory something like 'TestFrame'
    5. | Close All.

    The to get the new frame in the palette do

    1. File | Open and navigate to the uTestFrame.pas file Open it
    2. Now with the blank frame form showning Right Click | Add To Pallette
    3. Then Change the Component name to something like TTestFrame (leave the leading T) and use 'Standard' for the palette page
    4. OK and your done

    The new frame can be added to a project like anyother component

    1 - Damn Caps Lock key - 2020-01-08

    What were they thinking to allow this abomination to live on my keyboard? The only reason I can think to use it would be to scream at Trumpy over Twitter, and I try not to do that as much nowadays.

    Create a .REG file with this in it. Place it on your desktop, then double-click it. This REG file will defeat Caps Lock on Windows 10.

    Windows Registry Editor Version 5.00; Created by: Shawn Brink
    ; Created on: April 13th 2016
    ; Tutorial: http://www.tenforums.com/tutorials/47206-caps-lock-key-enable-disable-windows-10-a.html
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
    "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,3a,00,00,00,00,00